package com.xingzhi.shortvideosharingplatform.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.xingzhi.shortvideosharingplatform.model.Video;

public interface VideoService extends IService<Video> {
    
    /**
     * 增加视频点赞数
     * @param videoId 视频ID
     * @return 是否成功
     */
    boolean incrementLikeCount(Long videoId);
    
    /**
     * 减少视频点赞数
     * @param videoId 视频ID
     * @return 是否成功
     */
    boolean decrementLikeCount(Long videoId);
    
    /**
     * 获取视频所属用户ID
     * @param videoId 视频ID
     * @return 用户ID
     */
    Long getVideoAuthorId(Long videoId);

    /**
     * 根据视频ID获取视频信息
     * @param id 视频ID
     * @return 视频信息
     */
    Video getVideoById(Long id);
    
    /**
     * 增加视频作者的总点赞数
     * @param videoId 视频ID
     * @return 是否成功
     */
    boolean incrementAuthorLikeCount(Long videoId);
    
    /**
     * 减少视频作者的总点赞数
     * @param videoId 视频ID
     * @return 是否成功
     */
    boolean decrementAuthorLikeCount(Long videoId);
    
    /**
     * 增加视频收藏数
     * @param videoId 视频ID
     * @return 是否成功
     */
    boolean incrementFavoriteCount(Long videoId);
    
    /**
     * 减少视频收藏数
     * @param videoId 视频ID
     * @return 是否成功
     */
    boolean decrementFavoriteCount(Long videoId);
} 